package grape.wx.rest.mp.reply.form;
import grape.common.rest.form.BaseForm;

import grape.common.rest.validation.props.PropValid;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
 * <p>
 * 公众号消息回复
 * </p>
 *
 * @author yangwei
 * @since 2020-07-23
 */
@PropValid
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="公众号消息回复添加表单对象")
public class MpMsgReplyCreateForm extends BaseForm {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "名称")
    private String name;

    @NotEmpty(message="公众号编码不能为空")
    @ApiModelProperty(value = "公众号编码",required = true)
    private String appCode;

    @ApiModelProperty(value = "匹配接收人")
    private String matchFromUser;


    @ApiModelProperty(value = "匹配消息类型")
    private String matchMsgTypeDictId;

    @ApiModelProperty(value = "匹配事件类型")
    private String matchEventTypeDictId;

    @ApiModelProperty(value = "匹配事件key")
    private String matchEventKey;

    @PropValid.Depend(message = "匹配event_key的匹配方式不能为空",dependProp = "matchEventKey")
    @ApiModelProperty(value = "匹配event_key的匹配方式")
    private String matchEventKeyMatchDictId;


    @ApiModelProperty(value = "匹配内容")
    private String matchContent;

    @PropValid.Depend(message = "匹配内容的匹配方式不能为空",dependProp = "matchContent")
    @ApiModelProperty(value = "匹配内容的匹配方式")
    private String matchContentMatchDictId;

    @NotEmpty(message="回复的消息类型不能为空")
    @ApiModelProperty(value = "回复的消息类型",required = true)
    private String replyMsgTypeDictId;

    @NotEmpty(message="回复内容不能为空")
    @ApiModelProperty(value = "回复内容",required = true)
    private String replyContent;

    @NotNull(message="优先级不能为空")
    @ApiModelProperty(value = "优先级",required = true)
    private Integer priority;

    @ApiModelProperty(value = "备注")
    private String remark;



}
